#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
初始化管理员账户脚本
使用方法: python init_admin.py
"""

from app import create_app, db
from app.models.user import User

def init_admin():
    app = create_app()

    with app.app_context():
        # 检查是否已存在管理员
        admin = User.query.filter_by(username='admin').first()

        if admin:
            print("❌ 管理员账户已存在!")
            print(f"   用户名: {admin.username}")
            print(f"   邮箱: {admin.email}")
            return

        # 创建管理员账户
        admin = User(
            username='admin',
            email='admin@company.com',
            full_name='系统管理员',
            role='admin',
            department='系统管理部'
        )
        admin.set_password('password123')

        db.session.add(admin)
        db.session.commit()

        print("✅ 管理员账户创建成功!")
        print("\n登录信息:")
        print(f"   用户名: admin")
        print(f"   密码: password123")
        print(f"   邮箱: admin@company.com")
        print(f"\n请访问 http://localhost:5000/auth/login 登录系统")
        print("\n⚠️  重要提示: 请在首次登录后立即修改默认密码!")

if __name__ == '__main__':
    init_admin()